package com.gykfbxxh.imovie.greendao.gen;

import java.util.Map;

import org.greenrobot.greendao.AbstractDao;
import org.greenrobot.greendao.AbstractDaoSession;
import org.greenrobot.greendao.database.Database;
import org.greenrobot.greendao.identityscope.IdentityScopeType;
import org.greenrobot.greendao.internal.DaoConfig;

import com.gykfbxxh.imovie.greendao.bean.LikeLookGD;
import com.gykfbxxh.imovie.greendao.bean.SearchHistoryGD;
import com.gykfbxxh.imovie.greendao.bean.TestGD;
import com.gykfbxxh.imovie.greendao.bean.UserInforGD;

import com.gykfbxxh.imovie.greendao.gen.LikeLookGDDao;
import com.gykfbxxh.imovie.greendao.gen.SearchHistoryGDDao;
import com.gykfbxxh.imovie.greendao.gen.TestGDDao;
import com.gykfbxxh.imovie.greendao.gen.UserInforGDDao;

// THIS CODE IS GENERATED BY greenDAO, DO NOT EDIT.

/**
 * {@inheritDoc}
 * 
 * @see org.greenrobot.greendao.AbstractDaoSession
 */
public class DaoSession extends AbstractDaoSession {

    private final DaoConfig likeLookGDDaoConfig;
    private final DaoConfig searchHistoryGDDaoConfig;
    private final DaoConfig testGDDaoConfig;
    private final DaoConfig userInforGDDaoConfig;

    private final LikeLookGDDao likeLookGDDao;
    private final SearchHistoryGDDao searchHistoryGDDao;
    private final TestGDDao testGDDao;
    private final UserInforGDDao userInforGDDao;

    public DaoSession(Database db, IdentityScopeType type, Map<Class<? extends AbstractDao<?, ?>>, DaoConfig>
            daoConfigMap) {
        super(db);

        likeLookGDDaoConfig = daoConfigMap.get(LikeLookGDDao.class).clone();
        likeLookGDDaoConfig.initIdentityScope(type);

        searchHistoryGDDaoConfig = daoConfigMap.get(SearchHistoryGDDao.class).clone();
        searchHistoryGDDaoConfig.initIdentityScope(type);

        testGDDaoConfig = daoConfigMap.get(TestGDDao.class).clone();
        testGDDaoConfig.initIdentityScope(type);

        userInforGDDaoConfig = daoConfigMap.get(UserInforGDDao.class).clone();
        userInforGDDaoConfig.initIdentityScope(type);

        likeLookGDDao = new LikeLookGDDao(likeLookGDDaoConfig, this);
        searchHistoryGDDao = new SearchHistoryGDDao(searchHistoryGDDaoConfig, this);
        testGDDao = new TestGDDao(testGDDaoConfig, this);
        userInforGDDao = new UserInforGDDao(userInforGDDaoConfig, this);

        registerDao(LikeLookGD.class, likeLookGDDao);
        registerDao(SearchHistoryGD.class, searchHistoryGDDao);
        registerDao(TestGD.class, testGDDao);
        registerDao(UserInforGD.class, userInforGDDao);
    }
    
    public void clear() {
        likeLookGDDaoConfig.clearIdentityScope();
        searchHistoryGDDaoConfig.clearIdentityScope();
        testGDDaoConfig.clearIdentityScope();
        userInforGDDaoConfig.clearIdentityScope();
    }

    public LikeLookGDDao getLikeLookGDDao() {
        return likeLookGDDao;
    }

    public SearchHistoryGDDao getSearchHistoryGDDao() {
        return searchHistoryGDDao;
    }

    public TestGDDao getTestGDDao() {
        return testGDDao;
    }

    public UserInforGDDao getUserInforGDDao() {
        return userInforGDDao;
    }

}
